<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>Document</title>
</head>
<body>
    <script>
        // 在原型式继承的基础上，通过包装函数增强对象的功能，创建新的对象。
        function createAnother(original) {
            const clone = Object.create(original);
            clone.sayHi = function() {
                console.log('Hi');
            };
            return clone;
        }

        const parent = {
            color: [],
            name: 'Parent',
            sayHello() {
                console.log('Hello from ' + this.name);
            }
        };

        const child = createAnother(parent);
        const child2 = createAnother(parent);
        child.color.push(1)
        child.sayHi(); // 输出 'Hi'

        // 特点：
        // 和原型式继承类似，但更加灵活。
        // 不推荐大量使用，可能导致效率低下。
        // // 缺点： 引用属性共享问题

    </script>
</body>
</html>